perm filename GDPY[GEM,BGB] blob sn#057509 filedate 1973-08-09 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	SUBR(VDPY,VERTEX)	SPECIAL VERTEX DISPLAY			*
C00009 00003	SUBR(FDPY,FACE)			Special Face display		*
C00011 00004	SUBR(IDPY,NODE)			Identifier display.		*
C00014 ENDMK
C⊗;
SUBR(VDPY,VERTEX)	;SPECIAL VERTEX DISPLAY			*
	LAC 1,VERTEX
	TESTZ 1,NSEW+PZZ↔POP1J
	XDC 0,1↔FIXX↔SUBI VERNX↔PUSH P,0
	YDC 0,1↔FIXX↔SUBI VERNY↔PUSH P,0↔PUSHJ P,AIVECT
	CALL(DPYBIG,[1])↔CALL(DPYBRT,[3])
	CALL(IDPY,VERTEX)
	CALL(DPYBIG,[2])↔CALL(DPYBRT,[2])
	POP1J
ENDR VDPY;9-JAN-73(BGB)9-FEB-73(BGB)

SUBR(EDPY,EDGE)		;SPECIAL EDGE DISPLAY			*
	CALL(DPYBIG,[1])↔CALL(DPYBRT,[4])
	LAC 2,EDGE↔PVT 1,2
	TESTZ 1,NSEW!PZZ↔GO L1
	XDC 0,1↔FIXX↔DAC X
	YDC 0,1↔FIXX↔DAC Y↔CALL(AIVECT,X,Y)
	CALL(DTYO,["+"])↔  CALL(AIVECT,X,Y)
L1:	LAC 2,EDGE↔NVT 1,2
	TESTZ 1,NSEW!PZZ↔GO L2
	XDC 0,1↔FIXX↔ADDM X↔PUSH P,
	YDC 0,1↔FIXX↔ADDM Y↔PUSH P,↔CALL(AVECT)
	CALL(DTYO,["-"])
L2:	LAC 2,EDGE
	LAC X↔ASH -1↔PUSH P,
	LAC Y↔ASH -1↔PUSH P,↔CALL(AIVECT)
	CALL(IDPY,EDGE)
	CALL(DPYBIG,[2])
	CALL(DPYBRT,[2])
	CALL(AIVECT,[0],[0])	;FORCE BIG & BRT RESET.
	POP1J
DECLARE{X,Y}
ENDR EDPY;9-FEB-73(BGB)
SUBR(FDPY,FACE)			;Special Face display		*
	EXTERN ECCW
	LAC 1,FACE↔DAC 1,F↔TEST 1,FBIT↔POP1J
	PED 2,1↔DAC 2,E↔DAC 2,E0↔JUMPE 2,POP1J.
	SETZM I
	CALL(DPYBIG,[1])
	CALL(DPYBRT,[3])
	SKIPN E↔GO[LAC 1,F↔PFACE 1,1↔PVT 1,1↔GO VDPY+1]
L1:	AOS I↔LAC 2,E↔TEST 2,VISIBLE↔GO L2
	X1DC 0,2↔DAC 0,X
	Y1DC 1,2↔DAC 1,Y
	CALL(AIVECT,0,1)↔LAC 2,E
	X2DC 0,2↔ADDM 0,X
	Y2DC 1,2↔ADDM 1,Y
	CALL(AVECT,0,1)
	LAC 0,X↔ASH 0,-1↔SUBI 0,VERNX
	LAC 1,Y↔ASH 1,-1↔SUBI 1,VERNY
	CALL(AIVECT,0,1)
	CALL(DECDPY,I)
L2:	CALL(ECCW,E,F)
	CAMN 1,E↔GO L3↔DAC 1,E
	CAME 1,E0↔GO L1
L3:	CALL(DPYBRT,[2])
	CALL(DPYBIG,[2])
	POP1J
	DECLARE{F,E,E0,X,Y,I}
ENDR FDPY;9-FEB-73(BGB)
SUBR(IDPY,NODE)			;Identifier display.		*
;--------------------------------------------------------------------
	EXTERN CAMERA,NTYPE,NNAMES
	SKIPN NODE↔GO[CALL(DPYSTR,{[[ASCIZ/NIL/]]})↔POP1J]
	CALL(NTYPE,NODE)↔CAIGE 1,$BODY↔GO L5
	LAC 1,NODE↔SETZ 2,
	TESTZ 1,BBIT↔GO[
		SKIPE 13,-2(1)↔GO[
		LAC 14,-1(1)↔DZM 15
		CALL(DPYSTR,[13])↔POP1J]
	L1:	CW 1,1↔TESTZ 1,BBIT↔AOJA 2,L1
		AOS 2↔PUSH P,2↔CALL(DTYO,["B"])
		CALL(DECDPY)↔POP1J]
	TESTZ 1,FBIT↔GO[
	L2:	NFACE 1,1↔TESTZ 1,FBIT↔AOJA 2,L2
		AOS 2↔PUSH P,2↔CALL(DTYO,["F"])
		CALL(DECDPY)↔POP1J]
	TESTZ 1,EBIT↔GO[
	L3:	NED 1,1↔TESTZ 1,EBIT↔AOJA 2,L3
		AOS 2↔PUSH P,2↔CALL(DTYO,["E"])
		CALL(DECDPY)↔POP1J]
	TESTZ 1,VBIT↔GO[
	L4:	NVT 1,1↔TESTZ 1,VBIT↔AOJA 2,L4
		AOS 2↔PUSH P,2↔CALL(DTYO,["V"])
		CALL(DECDPY)↔POP1J]
	CALL NTYPE,NODE
L5:	CALL DPYSTR,NNAMES(1)

	LAC 1,NODE↔CAMN 1,UNIVERSE↔POP1J
	$TYPE 2,1↔DZM 5			    ;NODE - TYPE - COUNT.
	LAC 3,UNIVERSE↔SON 3,3↔DAC 3,4		;SON0 - SON.
	CAME 1,4↔GO[$TYPE 0,4↔CAMN 0,2↔AOS 5↔SIS 4,4
		CAME 3,4↔GO .-1↔GO .+1]↔AOS 5
	CALL(DECDPY,5)
	POP1J
ENDR IDPY;2/4/73(BGB)------------------------------------------------
END